home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Risc World 3
/
Risc World 3.iso
/
SOFTWARE
/
ISSUE4
/
ZAP
/
!Zap
/
Modules
/
!ZapTeX
/
Keys
< prev
next >
Wrap
Text File
|
2002-05-08
|
12KB
|
238 lines
| LaTeX keymap (Richard Atterer)
| Note that many symbols are only allowed when in math mode.
| This keymap tries to produce better readable documents by not inserting
| e.g. "\bullet{}", but "\bullet " and checking if the next key pressed
| afterwards is Space, in which case the " " is replaced with "\ ".
| There is support for users of the „german“ package.
|
| Press HOME to activate the extension keymap for the following keypress.
|
| Your Types file must initialise TeX_sp to 0 and TeX_de to 1 or 0, depending
| on whether you use the german package or not. For example:
| LaTeX &1ACA TeX:SET (TeX_sp=0):SET (TeX_de=0)
|
| Note that this is currently done in !ZapTeX.!Setup. This isn't ideal, and
| will be replaced in the future will a better method (hopefully).
&800 &0 &1FF TeX
&000-1FF *
| Remove space at line end
RETURN &01D IF ((@#TeX_sp) AND (@CHAROFF -1=32)):DELETE "PREV":ENDIF:SET (TeX_sp=0):RETURN
| May have to insert \ before the space
Space &020 IF ((@#TeX_sp) AND (@CHAROFF -1=32)):DELETE "PREV":INSERT "\ ":ELSE:CHAR ' ':ENDIF:SET (TeX_sp=0)
| ': If pressed twice and using german, enter "' (i.e. press '' to get “)
, &027 IF ((@#TeX_de) AND (@CHAROFF -1=39) AND (@CHAROFF -2<>34)):DELETE "PREV":INSERT """'":ELSE:CHAR '''':ENDIF
| Comma: If pressed twice and using german, enter "` (i.e. press ,, to get „)
, &02C IF ((@#TeX_de) AND (@CHAROFF -1=44)):DELETE "PREV":INSERT """`":ELSE:CHAR ',':ENDIF
| Replace three dots with \ldots
. &02E IF ((@CHAROFF -1=46) AND (@CHAROFF -2=46)):DELETE "PREV":DELETE "PREV":INSERT"\ldots ":SET (TeX_sp=1):ELSE:CHAR '.':ENDIF
| cReturn inserts \\ before the RETURN
cReturn &13D IF ((@#TeX_sp) AND (@CHAROFF -1=32)):DELETE "PREV":ENDIF:SET (TeX_sp=0):INSERT "\\":RETURN
HOME &01E KEYMAPN "TeX extras"
€ &080 INSERT "\surd ":SET (TeX_sp=1)
Ŵ &081 INSERT "\^{W}"
ŵ &082 INSERT "\^{w}"
◰ &083 BEEP
☓ &084 BEEP
Ŷ &085 INSERT "\^{Y}"
ŷ &086 INSERT "\^{y}"
&087 BEEP
⇦ &088 INSERT "\Leftarrow ":SET (TeX_sp=1)
⇨ &089 INSERT "\Rightarrow ":SET (TeX_sp=1)
⇩ &08A INSERT "\Downarrow ":SET (TeX_sp=1)
⇧ &08B INSERT "\Uparrow ":SET (TeX_sp=1)
… &08C INSERT "\ldots ":SET (TeX_sp=1): REM(don't use '...')
™ &08D INSERT "$^{\mathrm{TM}}$"
‰ &08E INSERT "\kern-.05em\raise.5ex\hbox{\the\scriptfont0 0}\kern-.15em/\kern-.15em\lower.25ex\hbox{\the\scriptfont0 00}"
• &08F INSERT "\bullet ":SET (TeX_sp=1):REM(in German ,this‘ is correct, not ‘this’)
‘ &090 IF (@#TeX_de):INSERT "\glq ":SET (TeX_sp=1):ELSE:CHAR '`':ENDIF
’ &091 IF (@#TeX_de):INSERT "\grq ":SET (TeX_sp=1):ELSE:CHAR 39:ENDIF
‹ &092 INSERT "\flq ":SET (TeX_sp=1):REM(needs german)
› &093 INSERT "\frq ":SET (TeX_sp=1):REM(needs german)
“ &094 INSERT "``"
” &095 IF (@#TeX_de):INSERT """'":ELSE:INSERT "''":ENDIF
„ &096 IF (@#TeX_de):INSERT """`":ELSE:INSERT ",,":ENDIF
– &097 INSERT "--"
— &098 INSERT "---"
− &099 INSERT "$-$":REM(minus acc. to ISO)
Œ &09A INSERT "\OE ":SET (TeX_sp=1)
œ &09B INSERT "\oe ":SET (TeX_sp=1)
† &09C INSERT "\dag ":SET (TeX_sp=1):REM(\dagger in math)
‡ &09D INSERT "\ddag ":SET (TeX_sp=1):REM(\ddagger in math)
fi &09E INSERT "fi"
fl &09F INSERT "fl"
&0A0 INSERT "~":REM(non-breaking space)
¡ &0A1 INSERT "!`"
¢ &0A2 INSERT "$\not\!\mathrm{c}$":REM(yuk!-)
£ &0A3 INSERT "\pounds ":SET (TeX_sp=1)
¤ &0A4 BEEP
¥ &0A5 BEEP
¦ &0A6 BEEP
§ &0A7 INSERT "\S ":SET (TeX_sp=1)
¨ &0A8 INSERT "\""{}":LEFT
© &0A9 INSERT "\copyright ":SET (TeX_sp=1)
ª &0AA INSERT "$^{\mathrm{\underline{a}}}$"
« &0AB INSERT """<":REM(needs german package)
¬ &0AC INSERT "\neg ":SET (TeX_sp=1):REM(non-breaking hyphen)
&0AD IF (@#TeX_de):INSERT """~":ELSE:CHAR '-':ENDIF
® &0AE INSERT "\hspace{.5em}\makebox[0pt]{$\bigcirc$}\makebox[0pt]{\scriptsize R}\hspace{.5em}"
¯ &0AF INSERT "\rule[1.5ex]{.5em}{.1ex}"
° &0B0 INSERT "$^{\circ}$"
± &0B1 INSERT "\pm ":SET (TeX_sp=1)
² &0B2 INSERT "$^{2}$"
³ &0B3 INSERT "$^{3}$"
´ &0B4 INSERT "\'{}":LEFT
µ &0B5 INSERT "\mu ":SET (TeX_sp=1)
¶ &0B6 INSERT "\P ":SET (TeX_sp=1)
· &0B7 INSERT "\cdot ":SET (TeX_sp=1)
¸ &0B8 INSERT "\c{}":LEFT
¹ &0B9 INSERT "$^{1}$"
º &0BA INSERT "$^{\mathrm{\underline{o}}}$"
» &0BB INSERT """>":REM(needs german package)
¼ &0BC INSERT "$^{1\!\!}/\!_{4}$"
½ &0BD INSERT "$^{1\!\!}/\!_{2}$"
¾ &0BE INSERT "$^{3\!\!}/\!_{4}$"
¿ &0BF INSERT "?`"
À &0C0 INSERT "\`{A}"
Á &0C1 INSERT "\'{A}"
 &0C2 INSERT "\^{A}"
à &0C3 INSERT "\~{A}"
Ä &0C4 IF (@#TeX_de):INSERT """A":ELSE:INSERT "\""{A}":ENDIF
Å &0C5 INSERT "\AA ":SET (TeX_sp=1)
Æ &0C6 INSERT "\AE ":SET (TeX_sp=1)
Ç &0C7 INSERT "\c{C}"
È &0C8 INSERT "\`{E}"
É &0C9 INSERT "\'{E}"
Ê &0CA INSERT "\^{E}"
Ë &0CB INSERT "\""{E}"
Ì &0CC INSERT "\`{I}"
Í &0CD INSERT "\'{I}"
Î &0CE INSERT "\^{I}"
Ï &0CF INSERT "\""{I}"
Ð &0D0 INSERT "\makebox[0pt][l]{\rule[.75ex]{.3em}{.1ex}}D"
Ñ &0D1 INSERT "\~{N}"
Ò &0D2 INSERT "\`{O}"
Ó &0D3 INSERT "\'{O}"
Ô &0D4 INSERT "\^{O}"
Õ &0D5 INSERT "\~{O}"
Ö &0D6 IF (@#TeX_de):INSERT """O":ELSE:INSERT "\""{O}":ENDIF
× &0D7 INSERT "\times ":SET (TeX_sp=1)
Ø &0D8 INSERT "\O ":SET (TeX_sp=1)
Ù &0D9 INSERT "\`{U}"
Ú &0DA INSERT "\'{U}"
Û &0DB INSERT "\^{U}"
Ü &0DC IF (@#TeX_de):INSERT """U":ELSE:INSERT "\""{U}":ENDIF
Ý &0DD INSERT "\'{Y}"
Þ &0DE BEEP
ß &0DF IF (@#TeX_de):INSERT """s":ELSE:INSERT "\ss ":ENDIF
à &0E0 INSERT "\`{a}"
á &0E1 INSERT "\'{a}"
â &0E2 INSERT "\^{a}"
ã &0E3 INSERT "\~{a}"
ä &0E4 IF (@#TeX_de):INSERT """a":ELSE:INSERT "\""{a}":ENDIF
å &0E5 INSERT "\aa ":SET (TeX_sp=1)
æ &0E6 INSERT "\ae ":SET (TeX_sp=1)
ç &0E7 INSERT "\c{c}"
è &0E8 INSERT "\`{e}"
é &0E9 INSERT "\'{e}"
ê &0EA INSERT "\^{e}"
ë &0EB INSERT "\""{e}"
ì &0EC INSERT "\`{\i}"
í &0ED INSERT "\'{\i}"
î &0EE INSERT "\^{\i}"
ï &0EF INSERT "\""{\i}"
ð &0F0 BEEP
ñ &0F1 INSERT "\~{n}"
ò &0F2 INSERT "\`{o}"
ó &0F3 INSERT "\'{o}"
ô &0F4 INSERT "\^{o}"
õ &0F5 INSERT "\~{o}"
ö &0F6 IF (@#TeX_de):INSERT """o":ELSE:INSERT "\""{o}":ENDIF
÷ &0F7 INSERT "\div ":SET (TeX_sp=1)
ø &0F8 INSERT "\o ":SET (TeX_sp=1)
ù &0F9 INSERT "\`{u}"
ú &0FA INSERT "\'{u}"
û &0FB INSERT "\^{u}"
ü &0FC IF (@#TeX_de):INSERT """u":ELSE:INSERT "\""{u}":ENDIF
ý &0FD INSERT "\'{y}"
þ &0FE BEEP
ÿ &0FF INSERT "\""{y}"
| LaTeX keymap extensions
| Available after the HOME key has been pressed.
| Note: Many keypresses act differently if there is a selection, making it
| the argument of the command they generate.
&800 &27 &132 TeX extras
' &027 IF (@#TeX_de):INSERT "\grq ":SET (TeX_sp=1):ELSE:LATEX_QUOTE:ENDIF
( &028 INSERT "\(\)":LEFT:LEFT
, &02C IF (@#TeX_de):INSERT "\glq ":SET (TeX_sp=1):ELSE:LATEX_QUOTE:ENDIF
| lowercase letters: similar to HTML keymap in some places
b &062 IF (@SELHERE):CUT:INSERT "\textbf{":PASTE:CHAR '}':ELSE:INSERT "\textbf{}":LEFT:ENDIF
c &063 IF (@SELHERE):CUT:INSERT "\textsc{":PASTE:CHAR '}':ELSE:INSERT "\textsc{}":LEFT:ENDIF
d &064 IF (@SELHERE):CUT:INSERT "\index{":PASTE:CHAR '}':ELSE:INSERT "\index{}":LEFT:ENDIF
e &065 IF (@SELHERE):CUT:INSERT "\emph{":PASTE:CHAR '}':ELSE:INSERT "\emph{}":LEFT:ENDIF
f &066 INSERT "%":RETURNNOINDENT:INSERT "\footnote{}":LEFT
i &069 INSERT "\item ":REM(list item)
l &06C IF (@SELHERE):CUT:INSERT "\label{":PASTE:CHAR '}':ELSE:INSERT "\label{}":LEFT:ENDIF
n &06E INSERT "\\":RETURN
o &06F LATEX_ENVIRONMENT "enumerate":INSERT " ":REM(ordered list)
p &070 IF (@SELHERE):CUT:INSERT "\pageref{":PASTE:CHAR '}':ELSE:INSERT "\pageref{}":LEFT:ENDIF
q &071 LATEX_ENVIRONMENT "quote"
r &072 IF (@SELHERE):CUT:INSERT "\ref{":PASTE:CHAR '}':ELSE:INSERT
"\ref{}":LEFT:ENDIF
s &073 IF (@SELHERE):CUT:INSERT "\textsf{":PASTE:CHAR '}':ELSE:INSERT "\textsf{}":LEFT:ENDIF
t &074 IF (@SELHERE):CUT:INSERT "\texttt{":PASTE:CHAR '}':ELSE:INSERT "\texttt{}":LEFT:ENDIF
u &075 LATEX_ENVIRONMENT "itemize":INSERT " ":REM(unordered list)
v &076 LATEX_ENVIRONMENT "verbatim"
x &078 LATEX_ENVIRONMENT
| 1 to 5: section etc.
1 &031 RETURNNOINDENT:INSERT "\section{}":RETURN:LEFT:LEFT
2 &032 RETURNNOINDENT:INSERT "\subsection{}":RETURN:LEFT:LEFT
3 &033 RETURNNOINDENT:INSERT "\subsubsection{}":RETURN:LEFT:LEFT
4 &034 RETURNNOINDENT:INSERT "\paragraph{}":RETURN:LEFT:LEFT
5 &035 RETURNNOINDENT:INSERT "\subparagraph{}":RETURN:LEFT:LEFT
| shift 1 to 2: forward to next (sub)section
| Attempts to support German layout keyboards too.
! (s1) &021 LATEX_NEXTSECTION
@ (s2) &040 LATEX_NEXTSUBSECTION
quote (ger-s2) &022 IF (@#TeX_de):LATEX_NEXTSUBSECTION:ELSE:LATEX_QUOTE
:ENDIF
| ctrl 1 to 2: back to previous (sub)section
c1 &131 LATEX_PREVSECTION
c2 &132 LATEX_PREVSUBSECTION
| uppercase A to Z: macros defined in the document
A &041 DROPMARK:SEARCHBACK "% key A: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
B &042 DROPMARK:SEARCHBACK "% key B: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
C &043 DROPMARK:SEARCHBACK "% key C: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
D &044 DROPMARK:SEARCHBACK "% key D: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
E &045 DROPMARK:SEARCHBACK "% key E: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
F &046 DROPMARK:SEARCHBACK "% key F: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
G &047 DROPMARK:SEARCHBACK "% key G: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
H &048 DROPMARK:SEARCHBACK "% key H: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
I &049 DROPMARK:SEARCHBACK "% key I: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
J &04A DROPMARK:SEARCHBACK "% key J: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
K &04B DROPMARK:SEARCHBACK "% key K: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
L &04C DROPMARK:SEARCHBACK "% key L: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
M &04D DROPMARK:SEARCHBACK "% key M: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
N &04E DROPMARK:SEARCHBACK "% key N: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
O &04F DROPMARK:SEARCHBACK "% key O: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
P &050 DROPMARK:SEARCHBACK "% key P: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
Q &051 DROPMARK:SEARCHBACK "% key Q: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
R &052 DROPMARK:SEARCHBACK "% key R: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
S &053 DROPMARK:SEARCHBACK "% key S: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
T &054 DROPMARK:SEARCHBACK "% key T: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
U &055 DROPMARK:SEARCHBACK "% key U: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
V &056 DROPMARK:SEARCHBACK "% key V: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
W &057 DROPMARK:SEARCHBACK "% key W: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
X &058 DROPMARK:SEARCHBACK "% key X: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
Y &059 DROPMARK:SEARCHBACK "% key Y: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF
Z &05A DROPMARK:SEARCHBACK "% key Z: ":CLEARSEL:SELREGION:CRIGHT:ESCAPE:LASTMARK:COPYSEL:CLEARSEL:IF (@CHAROFF -1 = 32):SET (TeX_sp=1):ENDIF